﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ProjControleBLL;
using ProjControleModelos;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using ProjControle.Relatórios;
using System.IO;

namespace ProjControle
{
    public partial class frm_inicial : Form
    {
        public frm_inicial()
        {
            InitializeComponent();
        }
        DataTable tab;
        String arquivo;
        #region Métodos
        public void associaGrid()
        {
            //DataTable tab;
            try
            {
                tab = new DataTable();
                tab.Columns.Add("hr_agendamento");
                tab.Columns.Add("nome_cliente");
                tab.Columns.Add("endereco_cliente");
                tab.Columns.Add("nome_funcionario");
                tab.Columns.Add("descricao_agendamento");
                tab.Columns.Add("status_agendamento");
                dgAgenda.DataSource = tab;
                dgAgenda.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                dgAgenda.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                dgAgenda.AllowUserToAddRows = false;
                dgAgenda.AllowUserToResizeRows = false;
                dgAgenda.AllowUserToResizeColumns = false;
                dgAgenda.Columns["hr_agendamento"].HeaderText = "Data e Hora";
                dgAgenda.Columns["hr_agendamento"].Width = 150;
                dgAgenda.Columns["nome_cliente"].HeaderText = "Cliente";
                dgAgenda.Columns["nome_cliente"].Width = 300;
                dgAgenda.Columns["endereco_cliente"].HeaderText = "Endereço";
                dgAgenda.Columns["endereco_cliente"].Width = 280;
                dgAgenda.Columns["nome_funcionario"].HeaderText = "Funcionario";
                dgAgenda.Columns["nome_funcionario"].Width = 250;
                dgAgenda.Columns["descricao_agendamento"].HeaderText = "Motivo";
                dgAgenda.Columns["descricao_agendamento"].Width = 300;
                dgAgenda.Columns["status_agendamento"].Visible = false;
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }
        public void verificaAgendamento()
        {
            try
            {
                foreach (DateTime data in dgAgenda.Rows)
                {
                    
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }
        public void imagem()
        {
            try
            {
                if ((File.Exists("D:\\Aulas Faculdade\\2012\\5ºTermo\\Projeto Integrado de Sistemas I\\Projetos\\Proj_Restaurante\\Proj_Restaurante\\config.txt")) == true)
                {
                    StreamReader arq = new StreamReader("D:\\Aulas Faculdade\\2012\\5ºTermo\\Projeto Integrado de Sistemas I\\Projetos\\Proj_Restaurante\\Proj_Restaurante\\config.txt", true);
                    arquivo = arq.ReadLine();
                    Image Imagem = Image.FromFile(arquivo);
                    pbImagem.SizeMode = PictureBoxSizeMode.StretchImage;
                    pbImagem.Height = 100;
                    pbImagem.Width = 100;
                    //atribui a imagem ao PictureBox - pb
                    pbImagem.Image = Imagem;
                    arq.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }
        #endregion
        private void funcionariosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_cadastro_cliente frm = new frm_cadastro_cliente();
            frm.ShowDialog();
            frm = null;
        }

        private void funcionariosToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            frm_cadastro_funcionario frm = new frm_cadastro_funcionario();
            frm.ShowDialog();
            frm = null;
        }

        private void sairToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Deseja sair?", "Sair", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                this.Close();
        }

        private void fornecedoresToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_cadastro_fornecedor frm = new frm_cadastro_fornecedor();
            frm.ShowDialog();
            frm = null;
        }

        private void gruposToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_cadastro_grupos frm = new frm_cadastro_grupos();
            frm.ShowDialog();
            frm = null;
        }

        private void marcasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_cadastro_marcas frm = new frm_cadastro_marcas();
            frm.ShowDialog();
            frm = null;
        }

        private void serviçosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_cadastro_servicos frm = new frm_cadastro_servicos();
            frm.ShowDialog();
            frm = null;
        }

        private void produtosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_cadastro_produto frm = new frm_cadastro_produto();
            frm.ShowDialog();
            frm = null;
        }

        private void agendamentosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_agendamentos frm = new frm_agendamentos();
            frm.ShowDialog();
            frm = null;
        }

        private void orçamentosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_orcamentos frm = new frm_orcamentos();
            frm.ShowDialog();
            frm = null;
        }

        private void realizarVendaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_realiza_venda frm = new frm_realiza_venda();
            frm.ShowDialog();
            frm = null;
        }

        private void movimentaçãoToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            frm_parametros frm = new frm_parametros();
            frm.ShowDialog();
            frm = null;
        }

        private void frm_inicial_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == Convert.ToChar(Keys.Escape))
                sairToolStripMenuItem_Click(sender, e);
        }

        private void frm_inicial_Load(object sender, EventArgs e)
        {
            associaGrid();
            imagem();
            tUsuario.Text = "Usuário: " + MGlobal.nome;
            AgendamentoBLL objBLL;
            try
            {
                DataTable tab;
                objBLL = new AgendamentoBLL();
                tab = objBLL.localizar();
                if (tab.Rows.Count > 0)
                {
                    dgAgenda.DataSource = tab;
                }
              }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            associaGrid();
            AgendamentoBLL objBLL;
            //Agendamento objAgendamento = null;
            //DateTime hr;
            try
            {
                
                objBLL = new AgendamentoBLL();

                tab = objBLL.localizar();
                if (tab.Rows.Count > 0)
                    dgAgenda.DataSource = tab;
               //bVerificaAgendamento_Click(sender, e);
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void produtosToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            frm_relatorio frm = new frm_relatorio();
            rpt_Produtos rpt = new rpt_Produtos();
            frm.CR.ReportSource = rpt;
            frm.Text = "Relatório de Produtos";
            frm.ShowDialog();
        }

        private void comprasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_cadastra_compra frm = new frm_cadastra_compra();
            frm.ShowDialog();
            frm = null;
        }

        private void imagemDeFundoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                //define as propriedades do controle 
                //OpenFileDialog
                this.ofd1.Multiselect = true;
                this.ofd1.Title = "Selecionar Fotos";
                //filtra para exibir somente arquivos de imagens
                ofd1.Filter = "Images (*.BMP;*.JPG;*.GIF,*.PNG,*.TIFF)|*.BMP;*.JPG;*.GIF;*.PNG;*.TIFF|" + "All files (*.*)|*.*";
                ofd1.CheckFileExists = true;
                ofd1.CheckPathExists = true;
                ofd1.FilterIndex = 2;
                ofd1.RestoreDirectory = true;
                ofd1.ReadOnlyChecked = true;
                ofd1.ShowReadOnly = true;

                DialogResult dr = this.ofd1.ShowDialog();
                //Dim file As System.IO.File
                File.Delete("D:\\Aulas Faculdade\\2012\\5ºTermo\\Projeto Integrado de Sistemas I\\Projetos\\Proj_Restaurante\\Proj_Restaurante\\config.txt");
                StreamWriter arq2 = new StreamWriter("D:\\Aulas Faculdade\\2012\\5ºTermo\\Projeto Integrado de Sistemas I\\Projetos\\Proj_Restaurante\\Proj_Restaurante\\config.txt", true);

                if (dr == System.Windows.Forms.DialogResult.OK)
                {
                    // Le os arquivos selecionados 
                    //Dim pb As New PictureBox()
                    arquivo = ofd1.FileName;
                    Image Imagem = Image.FromFile(arquivo);
                    pbImagem.SizeMode = PictureBoxSizeMode.StretchImage;
                    arq2.WriteLine(arquivo);
                    arq2.Close();
                    //para exibir as imagens em tamanho natural 
                    //descomente as linhas abaixo e comente as duas seguintes
                    //pbImagem.Height = Imagem
                    // pbImagem.Width = loadedImage.Width
                    pbImagem.Height = 100;
                    pbImagem.Width = 100;
                    //atribui a imagem ao PictureBox - pb
                    pbImagem.Image = Imagem;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }


    }
}
